package com.backstage.dao;

import com.backstage.entity.Menu;
import com.backstage.entity.Role;
import org.apache.ibatis.annotations.Param;

import java.util.ArrayList;
import java.util.List;

/**
 * @Project authority
 * @Package com.backstage.dao
 * @Data 2017/7/27下午 3:50.
 * @Aurhor 阮雪峰
 */
public interface RoleDao extends BaseDao<Role> {

    /**
     * 删除角色的权限
     * @param role
     */
    void deleteRoleMenu(@Param("role") Role role);

    /**
     * 重新分配权限
     * @param role
     */
    void allotPower(@Param("role") Role role);

    /**
     * 查询角色的权限
     * @param role
     * @return
     */
    List<Menu> getRoleMenu(@Param("role") Role role);

    /**
     * 删除角色菜单关联
     * @param roles
     */
    void deleteRolesMenus(@Param("list") ArrayList<Role> roles);

    /**
     * 删除用户角色关联
     * @param roles
     */
    void deleteUsersRoles(@Param("list")ArrayList<Role> roles);
}
